using System;
using System.Collections.Generic;
using System.Diagnostics;
using appladen.contracts;
using appladen.contracts.data;
using System.Linq;

namespace appladen.seitenwerk
{
    public class Seiten_erstellen : ISeiten_erstellen
    {
        public void Process(Tuple<CSVZeile, IEnumerable<CSVZeile>> message)
        {
            Trace.WriteLine("Seite erstellen");
            var count = 0;
            var seiten = new List<Seite>();
            var seitenZeilen = new List<CSVZeile>();   
            for (var i = 0; i < message.Item2.Count(); i++)
            {
                         
                if (count < 20)
                {
                    seitenZeilen.Add(message.Item2.ElementAt(i));
                    count++;
                }

                if (count == 20)
                {
                    var seite = new Seite() { Header = message.Item1 };
                    seite.Zeilen = seitenZeilen;
                    seiten.Add(seite);
                    count = 0;
                    seitenZeilen = new List<CSVZeile>();
                }
            }
            Result(seiten);
        }

        public event Action<IEnumerable<Seite>> Result;
    }
}